/*
 * FunctionAnalyzer_test.cpp
 *
 *  Created on: 27 мая 2022 г.
 *      Author: nikita
 */

#include "FunctionAnalyzer.h"

namespace STC_calc
{

class FunctionAnalyzer_test
{
public:
	static const std::vector<std::function<std::pair<bool, std::string>(void)>> test_vector;
private:
	FunctionAnalyzer_test();
	~FunctionAnalyzer_test();

	static bool is_vectors_equal(const string_vector& vec1, const string_vector& vec2);

	static std::string vector_to_str(const string_vector& args);
public:
	static bool test_all();

	static std::pair<bool, std::string> is_open_bracket();
	static std::pair<bool, std::string> remove_brackets();

	static std::pair<bool, std::string> has_base();
	static std::pair<bool, std::string> base_define();
	static std::pair<bool, std::string> find_without_brackets();

	static std::pair<bool, std::string> define_name_function();
	static std::pair<bool, std::string> define_func_args();

	static std::pair<bool, std::string> is_it_close_bracket();
	static std::pair<bool, std::string> define_open_bracket_type();

	static std::pair<bool, std::string> simplify_string();
};

} /* namespace STC_calc */
